import type { Router } from 'vue-router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

// NProgress配置
NProgress.configure({ showSpinner: false })

/**
 * 路由守卫配置
 * @param router 路由实例
 */
export function setupRouterGuard(router: Router) {
  // 全局前置守卫
  router.beforeEach(async (to, _from, next) => {
    // 开始进度条
    NProgress.start()

    // 设置页面标题
    document.title = to.meta.title ? `${to.meta.title} - 磷康健康管理后台` : '磷康健康管理后台'

    // 直接允许访问（无需登录验证）
    next()
  })

  // 全局后置守卫
  router.afterEach(() => {
    // 结束进度条
    NProgress.done()
  })

  // 全局错误处理
  router.onError((error) => {
    console.log('路由错误:', error)
    NProgress.done()
  })
}
